package com.yy.permissions_general.module.system.file.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yy.permissions_general.module.system.file.entity.File;
import com.yy.permissions_general.utils.eleTree.EleTreeVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 附件 Mapper 接口
 * </p>
 *
 * @author YY
 * @since 2021-12-20
 */
public interface FileMapper extends BaseMapper<File> {

    /**
    * 分页查询
    * @param pageContext
    * @param file
    * @return
    */
    Page<File> selectPage(@Param("page")Page pageContext, @Param("file") File file);

    /**
     * 父节点获取所有子节点数据
     * @param parentId 父ID
     * @return
     */
    List<File> selectFileToParentId(@Param("parentId")Integer parentId);

    /**
     * 文件夹重命名对应子节点路径更改
     * @param parentId 父节点ID
     * @param filePath 文件名
     * @param newFilePath 新文件名
     * @return
     */
    int updateFileToRenameDir(@Param("parentId")Integer parentId, @Param("filePath")String filePath, @Param("newFilePath")String newFilePath);

    /**
     * 父节点获取所有子节点数据
     * @param parentId 父ID
     * @param parentId
     * @return
     */
    List<Long> selectIdsToParentId(@Param("parentId")Integer parentId);

    /**
     * 文件目录结构
     * @param parentId
     * @return
     */
    List<EleTreeVo> getFileTree(@Param("parentId")Integer parentId);
}

